package com.lanou3g.k12.service.impl;

import com.lanou3g.k12.entity.CourseType;
import com.lanou3g.k12.mapper.CourseTypeMapper;
import com.lanou3g.k12.service.CourseTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class CourseTypeServiceImpl implements CourseTypeService {

    @Autowired
    private CourseTypeMapper courseTypeMapper;


    /**
     * 查询所有，返回CourseType集合
     * @return
     */
    @Override
    public List<CourseType> findAll() {
        List<CourseType> all = courseTypeMapper.findAll();
        return all;
    }


    /**
     * 模糊查询，返回CourseType集合
     * @param keyword 关键字
     * @return
     */
    @Override
    public List<CourseType> search(String keyword) {
        List<CourseType> byKeyword = courseTypeMapper.findByKeyword("%" + keyword + "%");
        return byKeyword;
    }



    /**
     * 新增课程
     * @param courseType
     */
    @Override
    public void add(CourseType courseType) {

        //新增 当前时间放进对象,修改时间和新增时间相同
        courseType.setCreateTime(new Date());
        courseType.setUpdateTime(new Date());

        courseTypeMapper.add(courseType);
    }


    /**
     * 根据id删除单个
     * @param id
     */
    @Override
    public void deleteTypeById(Long id) {
        courseTypeMapper.deleteTypeById(id);

    }

    /**
     * 根据id查类型
     * @param id
     * @return
     */
    @Override
    public CourseType selectTypeById(Long id) {
        return courseTypeMapper.selectTypeById(id);
    }

    /**
     * 根据id删除多个
     * @param ids
     */
    @Override
    public void deleteTypeByIds(Long[] ids) {
        courseTypeMapper.deleteTypeByIds(ids);

    }

    /**
     * 根据id更改
     * @param id
     * @param courseType
     */
    @Override
    public void updateTypeById(Long id, CourseType courseType) {

        //修改时，将当前时间放进对象
        courseType.setUpdateTime(new Date());
//        System.out.println("当前时间 修改");
        courseTypeMapper.updateTypeById(id, courseType);
    }
}
